Java Technologies Spring Bean কি এবং এর Lifecycle গাইড ও নোট

379

Spring Framework একটি শক্তিশালী এবং জনপ্রিয় জাভা ফ্রেমওয়ার্ক যা ডিপেনডেন্সি ইনজেকশন (Dependency Injection - DI) এবং অ্যাসপেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (Aspect-Oriented Programming - AOP) এর মাধ্যমে অ্যাপ্লিকেশন ডেভেলপমেন্টকে সহজ করে তোলে। Spring Bean একটি Spring IoC (Inversion of Control) কনটেইনারে পরিচালিত অবজেক্ট। Spring Bean হলো একটি সিম্পল জাভা অবজেক্ট (POJO) যা Spring কনটেইনার দ্বারা তৈরি এবং পরিচালিত হয়।

Spring Bean এর Lifecycle এবং ডিপেনডেন্সি ইনজেকশন (DI) মেকানিজম খুবই গুরুত্বপূর্ণ, কারণ এর মাধ্যমে Spring কনটেইনার ডাটা এবং কোডের উপাদানগুলিকে সঠিকভাবে ম্যানেজ করে। Spring Bean এর Life Cycle বুঝতে হলে প্রথমে বুঝতে হবে যে Spring কনটেইনার কীভাবে Bean তৈরি, ব্যবহার, এবং ধ্বংস করে।


Spring Bean এর Life Cycle

Spring Bean এর Life Cycle একটি নির্দিষ্ট ধাপে ধাপে চলে, যা Spring কনটেইনারে Bean এর সৃষ্টি থেকে তার ধ্বংস পর্যন্ত ঘটে। Spring Bean এর Life Cycle সাধারণত নিম্নলিখিত ধাপগুলো অনুসরণ করে:

১. Bean Creation (Bean সৃষ্টিকরণ)

Spring কনটেইনার প্রথমে Bean তৈরি করে। এটি কনফিগারেশন ফাইল বা অ্যানোটেশনের মাধ্যমে কনটেইনারকে জানায় যে কোন Bean তৈরি করতে হবে। Spring কনটেইনার bean ডিফিনিশন অনুযায়ী Bean এর ইনস্ট্যান্স তৈরি করে। এটি প্রথমে ডিফাইন করা কনস্ট্রাক্টর অথবা ডিফল্ট কনস্ট্রাক্টর দ্বারা Bean তৈরি করে।

২. Dependency Injection (ডিপেনডেন্সি ইনজেকশন)

Bean তৈরি হওয়ার পর, Spring কনটেইনার সেই Bean এর জন্য নির্দিষ্ট ডিপেনডেন্সি ইনজেক্ট করে। এটি Setter Injection, Constructor Injection, অথবা Field Injection এর মাধ্যমে হতে পারে। ডিপেনডেন্সি ইনজেকশন মূলত Spring Bean এর মধ্যে প্রয়োজনীয় অবজেক্টগুলো প্রেরণ করার প্রক্রিয়া।

৩. Post-Initialization (পোস্ট-ইনিশিয়ালাইজেশন)

Bean তৈরি হওয়ার পর, এবং ডিপেনডেন্সি ইনজেকশনের পর কিছু কাস্টম ইন্টিগ্রেশন বা ফাংশনালিটি অ্যাড করা যেতে পারে। এই স্টেপে কিছু বিশেষ পদ্ধতি বা @PostConstruct অ্যানোটেশন ব্যবহার করে ইনিশিয়ালাইজেশন প্রক্রিয়া সম্পন্ন করা হয়। এর ফলে আপনি কোনো অতিরিক্ত কনফিগারেশন বা লজিক অ্যাড করতে পারেন।

৪. Bean ব্যবহার

Spring কনটেইনারে থাকা Bean গুলি অ্যাপ্লিকেশনের মধ্যে ব্যবহৃত হয়। Spring কনটেইনার Bean এর উপর নিয়ন্ত্রণ বজায় রাখে, তবে অ্যাপ্লিকেশন পর্যায়ে ব্যবহৃত হলে Bean গুলি কার্যকর হয়। এসময় Bean এর মেথড এবং প্রপার্টি ব্যবহার করা হয়।

৫. Pre-Destroy (প্রী-ডেস্ট্রাকশন)

Spring কনটেইনার Bean কে ধ্বংস করার আগে, আপনি কিছু কাস্টম কোড চালাতে পারেন। এর জন্য @PreDestroy অ্যানোটেশন ব্যবহার করা হয়। এই পদ্ধতি Bean ধ্বংসের আগে প্রয়োজনীয় ক্লিনআপ বা রিসোর্স ফ্রি করতে সহায়তা করে। উদাহরণস্বরূপ, ডাটাবেস সংযোগ বন্ধ বা ফাইল লেখা শেষ করা।

৬. Bean Destruction (Bean ধ্বংস)

Bean এর Lifecycle এর শেষ পর্যায়ে Spring কনটেইনার Bean টি ধ্বংস করে। এটি তখন ঘটে যখন Spring কনটেইনার বন্ধ হয় বা Bean টি আর প্রয়োজন হয় না। Spring কনটেইনার @PreDestroy অথবা destroy-method ব্যবহার করে Bean এর ক্লিনআপ কার্যক্রম সম্পন্ন করে।


Spring Bean Lifecycle Diagram

Spring Bean এর Life Cycle একটি ধাপে ধাপে প্রক্রিয়া, যা সহজেই গ্রাফিক্যালি দেখানো যেতে পারে। এই লাইফ সাইকেলটি প্রধানত Bean Creation থেকে Bean Destruction পর্যন্ত চলে।

  1. Bean Creation: Bean তৈরি করা হয়।
  2. Dependency Injection: ডিপেনডেন্সি ইনজেক্ট করা হয়।
  3. Post-Initialization: যেকোনো অতিরিক্ত কনফিগারেশন বা লজিক প্রয়োগ।
  4. Bean Usage: অ্যাপ্লিকেশনের মধ্যে Bean ব্যবহার করা হয়।
  5. Pre-Destroy: Bean ধ্বংসের আগে প্রাক-ধ্বংস কার্যক্রম।
  6. Bean Destruction: Bean ধ্বংস করা হয়।

Spring Bean এর Life Cycle এর বিভিন্ন স্টেপ

১. Bean Initialization

Spring Bean তৈরি হওয়ার পরে এবং এর ডিপেনডেন্সি ইনজেকশনের পরে Bean Initialization ঘটে। Spring এর InitializingBean ইন্টারফেস অথবা @PostConstruct অ্যানোটেশন ব্যবহার করে ইনিশিয়ালাইজেশন কার্যক্রম পরিচালিত হয়।

import javax.annotation.PostConstruct;

@Component
public class ExampleBean {

    @PostConstruct
    public void init() {
        // Bean initialization code
        System.out.println("Bean initialized!");
    }
}

২. Bean Destruction

Bean ধ্বংস হওয়ার সময় @PreDestroy অ্যানোটেশন বা DisposableBean ইন্টারফেস ব্যবহার করা যেতে পারে। এটি রিসোর্স মুক্ত করার জন্য ব্যবহার হয়।

import javax.annotation.PreDestroy;

@Component
public class ExampleBean {

    @PreDestroy
    public void cleanup() {
        // Bean destruction code
        System.out.println("Bean destroyed!");
    }
}

সারাংশ

Spring Bean হলো Spring কনটেইনার দ্বারা তৈরি ও পরিচালিত একটি জাভা অবজেক্ট, যা ডিপেনডেন্সি ইনজেকশনের মাধ্যমে অ্যাপ্লিকেশনে ব্যবহৃত হয়। Spring Bean এর Lifecycle একটি নির্দিষ্ট ধাপে চলে, যা Bean এর তৈরি থেকে ধ্বংস পর্যন্ত হয়। Bean এর Life Cycle এর মধ্যে Bean Creation, Dependency Injection, Post-Initialization, Bean Usage, Pre-Destroy এবং Bean Destruction অন্তর্ভুক্ত। Spring Bean এর Life Cycle বুঝে ব্যবহার করলে Spring অ্যাপ্লিকেশনটি আরও কার্যকর এবং রক্ষণাবেক্ষণযোগ্য হয়।

Content added By
Promotion

Are you sure to start over?

Loading...